package chapter4.demo2;

/**
 * 1.super 关键字
 * 2.final 关键字
 */
class Hero {
    int hp;

    public void reHP() {
        this.hp = this.hp + 2;// 每次调用恢复2点血
        System.out.println("基础回血2/5秒");
    }

    // final最终 子类可以使用 但是bukeyi修改
    final void goHome() {
        System.out.println("按B,原地等待10秒");
    }
}

class Warrior extends Hero {
    public void reHP() {
        //当需要使用父类时方法时

        // 使用super调用父类方法 父类该方法可以使用
        super.reHP();//super特指父类
        this.hp = this.hp + 5;
        System.out.println("战士回血5%/5秒");
    }
}

// 报错原因 父类回家方法加了final 不可重写
//    void goHome(){
//        System.out.println("按B,原地等待4秒");
//    }
//}
class Archer extends Hero {

}

public class Demo2 {
    public static void main(String[] args) {
        System.out.println("查看射手回血机制");
        Archer archer = new Archer();
        archer.reHP();
        System.out.println("查看战士回血机制");
        Warrior warrior = new Warrior();
        warrior.reHP();
        warrior.goHome();
    }
}
